package com.shujia.mapredue;

import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable;
import java.net.Socket;

public class Demo4ApplicationMaster {

    public static void main(String[] args) throws Exception {
        //线程对象
        Task task = new Task();

        //启动线程
        //task.start();


        Socket socket = new Socket("localhost", 8888);

        //获取输出流
        OutputStream outputStream = socket.getOutputStream();
        //对象输出流
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);

        //发送task
        objectOutputStream.writeObject(task);

        objectOutputStream.flush();


    }

}

/**
 * 类需要实现Serializable接口才能被序列化，才能在网络中传输
 */

/**
 *
 * maptask和reducetask本质上是一个线程对象，这个线程对象中包好了用户自定义的代码逻辑，数据排序方法， 分区方式，读数据的方式
 *
 */

class Task extends Thread implements Serializable {
    @Override
    public void run() {

        for (int i = 0; i < 100; i++) {
            System.out.println(i);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
